home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / PROGRAMMING / PERL.SPK / Perl5001 / OtherStuff / AutoLoader < prev    next >
Text File  |  1996-02-09  |  715b  |  29 lines

  1. package AutoLoader;
  2. use Carp;
  3.  
  4. AUTOLOAD {
  5.     my $name = "auto/$AUTOLOAD.al";
  6.     $name =~ s#::#/#g;
  7.     eval {require $name};
  8.     if ($@) {
  9.     # The load might just have failed because the filename was too
  10.     # long for some old SVR3 systems which treat long names as errors.
  11.     # If we can succesfully truncate a long name then it's worth a go.
  12.     # There is a slight risk that we could pick up the wrong file here
  13.     # but autosplit should have warned about that when splitting.
  14.     if ($name =~ s/(\w{12,})\.al$/substr($1,0,11).".al"/e){
  15.         eval {require $name};
  16.     }
  17.     elsif ($AUTOLOAD =~ /::DESTROY$/) {
  18.         eval "sub $AUTOLOAD {}";
  19.     }
  20.     if ($@){
  21.         $@ =~ s/ at .*\n//;
  22.         croak $@;
  23.     }
  24.     }
  25.     goto &$AUTOLOAD;
  26. }
  27.  
  28. 1;
  29.